import { defineStore } from 'pinia'
import { ref, computed } from 'vue'

/**
 * 登录
 */

const useLogin = defineStore(
  'login',
  () => {
    // 登录弹窗
    const loginDialog = ref(false)
    const setLoginDialog = (val) => {
      loginDialog.value = val
    }

    // 记住用户名密码
    const u = ref(null)
    const setU = (val) => {
      u.value = val
    }

    // 用户信息
    const userInfo = ref(null)
    const setUserInfoKey = (key, val) => {
      userInfo.value[key] = val
    }
    const setUserInfo = (val) => {
      userInfo.value = val
    }
    /** customerClassCode
     * 船东	05
      船管	06
      修船厂	07
      制造商	09
      供应商	10
      燃供	16
      代理	12
      航修/外协	11
      设计公司	13
      船级社/船旗国	03
      国际组织/协会	02
      政府/当局	01
      造船厂	08
      船员派遣公司	14
      租家/货主	04
      港口	17
      保险/律所	18
      金融机构	19
      船员	15
      其他	20
      个人用户	21
     */

    //token
    const token = ref('')
    const setToken = (val) => {
      token.value = val
    }

    // 重置
    const reset = () => {
      userInfo.value = null
      token.value = null
    }

    return {
      loginDialog,
      setLoginDialog,
      u,
      setU,
      userInfo,
      setUserInfoKey,
      setUserInfo,
      token,
      setToken,
      reset
    }
  },
  {
    persist: {
      enabled: true,
      strategies: [
        {
          storage: localStorage
        }
      ]
    }
  }
)

export default useLogin
